L’algorithmique et la programmation - 2de

Les instructions itératives utilisant "Pour"

Exercice 1 : Somme de suite géométrique (inspiré par Bac ES Métropole 2015)

On considère l'algorithme ci-dessous :

\(u\)\(10000\)
\(S\)\(10000\)
Pour \(i\) allant de \(2\) à \(n\) :
\(u\)\(1,6 \times u\)
\(S\)\(S + u\)

Faire fonctionner l'algorithme précédent pour \(n=5\) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.

{"header_left": ["i", "u", "S"], "data": [["", "2", "?", "?", "?"], ["10000", "?", "?", "?", "?"], ["10000", "?", "?", "?", "?"]]}

Exercice 2 : Somme d'une suite logique en Python

Écrire une fonction Python qui prend en argument un entier naturel \( N \) non nul et qui retourne le résultat de la somme suivante, avec \( p \) le plus grand entier naturel inférieur à \( N \) suivant la logique de la somme : \[ 1 + 12 + 23 + ... + p \]
{"initCode": "%{def somme(N):}s\n\treturn res", "studentCode": "", "inputs": [[20], [100], [500], [1000]], "nbAttemptsLeft": 2, "outputs": [[], [], [], []]}

Essais restants : 2

Exercice 3 : Boucle bornée for et indentation

On considère la fonction Python suivante :

def f(x):
    s = 3
    for k in range (1, 3):
        s = s + x
        return s

def g(x):
    s = 3
    for k in range (1, 3):
        s = s + x
    return s

Que renvoie l'appel de la fonction f(2) ?
Que renvoie l'appel de la fonction g(2) ?

Exercice 4 : Fonction Python Range

Quelles sont les valeurs successives prises par la variable i dans l’instruction suivante ?

for i in range(42, 50)

On donnera la liste dans l'ordre d'éxecution du programme séparée par des point-virgules.

Exercice 5 : Boucle bornée for, tableau d'étapes

On considère l'extrait de code Python ci-dessous.
for i in range(6, 11):
    x = 1 + i

Compléter le tableau d'étapes des valeurs prises par \(x\) et \(i\) au cours de l'exécution de ces instructions :
{"data": [["i", "6", "?", "?", "?", "?"], ["x", "?", "?", "?", "?", "?"]]}
False